made arg passing a little more flexible and integrated bindings-dsl