work on input