more work on input