make sure it doesn't crap bc of bad input