first steps. there's probably still some obvious cleanup to be done but there are still some fundamental drawing bugs to overcome