refactored project structure and started preparing test suite