optimize restart, optimize keyup() function