add new directives
try add new func