Inital creation of test project + some refactoring

WILL BREAK ECLIPSE PROJECTS (probably)