Added Unit Test project and reorganized source