Finish object-oriented version

Fix all known bugs from doing quick testing