add adapter observer