shouldn't this be InvalidArgumentException?