Reorganize to use contentprovider