class based approach for controllers
refactor(build): use gulp instead of grunt