Big refactoring and javadoc

-renamed some things
-more oop