Making it OOP

Code is now broken, but should be easier to make everything I want work
yet, as it is better organized.