moved core data operations to dedicated serial queue