setup basic directive structure