First commit of the entire framework - still needs some work