directives scope and compile