Split out Directive into it's own file