added request and observer