content provider skeleton