complete refactoring on project. Initial commit