added request lifecycle