smartDirectives