vstack major refactor
vstack major refactor

original commit: vintage-software/vstack@d43b336f6e5ea3f8618ea5da1a4e7ccd0d7787cb

split from 2f851b1c8db86f9e2953c2d925cd2c021a44fca9

vintage-software/vstack