ported to the add-on sdk