create a framework