working on directive and model listeners