revamp design of api