Changed file organization to match MVP architecture, added new test file