add version management feature