add new observer code