Major API overhaul