further simplify observe