added: parseInput() and test coverage