outlined basic api functions