Finished the basic framework