finish observer