added 'changed' method