Still has rendering problems, but a lot of code created...
A lot of code restructured