conform to simon's coding style
reworked to allow yielding at api version initialisation