Rebase commit. Clean up classes to be more OO