refactor voluem init