api-ish thing functional