new post: decoupling the framework