do not overwrite when left only
extract all plugin related functionality out of the core