It isn't nice atm, but it is working. WIP