controllers outside of directive so tthey can be tested, but only seperated as modules. much better than as outside functions