adding the 'plugin' pattern