added request parsing