better json request infra-structure