add observers