new API for volume