directive controller