improved api