refactored InputCall