simplify repetitive methods and add some OOP
remove non-essential classes and abstract methods.
Merge branch 'develop' of github.com:abdullahfahad/project-elite-local into develop

no access to pull commands until now.