renaming methods to more descriptive
refactoring to 3-layer with interfaces
adding MySQL, factories and singletons