reduce unnessesary api request