correctly differentiate different requests