API overhaul