updated plugin API