vstack major refactor
vstack major refactor

original commit: vintage-software/vstack@7e30df3b8a03c7aa07d1bbee2ea943ddb1410120

split from d8fb16b100b7a29c326798f7cd29f254f63eb9f5

vintage-software/vstack