content provider refac