use dataProvider instead of duplication