moved into some custom directives