added bidirectional bindings and new elements