Implemented a few new features, and fixed a few bugs. Updated submodules to their latest commit.