Added interface and test projects
Moved classes to own files