first pass at the apis