Code with project working but no comments yet. Some refactoring has to be done