input processing improved