1)rename input_data => input_iterator 2) convert input iterator to readonly for ARRAY reference