improve product api