separated python bindings from rest of code