Did some modularization of the controllers and added factory services