added the first draft of the framework