implement setting volume