foolproof input