New API design