Stage 2 API design