more progress as I try to get an API that is logical