added volume and occasion logic