added 'volatile' explanation