extended os_input