major api rework