add more api logic