still a couple of bugs to go, but fully operational OOP version is up!