implement more bindings
some parts left as TODO