futher work on api