Cleaned up a lot of code and stubbed out the rest of the use-cases