laying the framework