Jun,
Why don't you try ETP? It was built because CMS is such a chore to get working. Also, it's built on top of the CMS data model which is very strong. It is much lighter than CMS, but will eventually have all of its (supposed) features.
Anyway, I might suggest trying it before rolling your own.
talli