added the framework, framework dll still needs much decoupling