first try at a 2d renderer. Definitely needs testing