vstack major refactor
vstack major refactor

original commit: vintage-software/vstack@193ee947ff7a1c49f282515c753530c0789249e2

split from 2e35ac8f45a109d637bb969cfa924a8c05ba9895

vintage-software/vstack