vstack major refactor
vstack major refactor

original commit: vintage-software/vstack@c9f5a231edc950e0b0461e9beea861d3e9418756

split from fef2c68cd4cb76383ade1ef7212544da434e8013

vintage-software/vstack