initial refactoring attempts with @rloomba
Merge pull request #1 from mahmoudimus/master

Initial refactoring attempt