change directive bindings and add demo