better separation for plugins