working on the actual rendering part
more changes to the actual rendering stuff. I should probably split these
modules into smaller ones