working on input reader