Reorganized everything and added framework code

Yep.