added a volume callback