can parse multiple inputs and outputs, cleaner code