functional auto-api [stage 1]