revise API