change parser to handle more request types