Refactored entire project into appropriate packages