Finish the basic framework, now it works