finished first pass of bonus API