moved request parser into request and renamed it to factory