separated the sync process from the list process. list is now using cached messages from database.