input validation anyone?
i don't know whether fail by exception is the way to go