implemented whitespace input