finished observers, and fixed missing cases in modifier