typos and bad input defense