add directive and controller