change getDataFunc to DataGetter interface