abstraction for addons #1