refactor - simplify controller + directives