improved json request