input processing