finished first version of the extension api