add lock to markAsRead