first pass at python bindings