refactor project into MVP structure;