still trying to figure out exception crap
wtf