Split components into angluar way, with better directives