use input event