added shuais stuff
added factory and maincontroller
made classes public