vstack major refactor
vstack major refactor

original commit: vintage-software/vstack@5be5e5edd982fbddb7618857fa15dae2f76ef4f3

split from 5fd909e81ffd438ef89b559cfd074e68a3050ae2

vintage-software/vstack