added modular architecture to python bindings