messing around with controllers and directives - cleaning required