ugh this is going to suck...