files renamed for better debugging, dependency injected by and main file
moved controllers to its own file
moved template loading, compiling and caching to view
api refactored