optimize input