better request mapping