added support for setting a optional volume