possible api outline