Implemented the classes necessary for the Python bindings