Massively rework API