review observer method