fixed cross-browser input