use parent/child semantic instead of whole/part
fix usage of directives