working on the framework