added test project, moved classes into own files