input validation done, random not test