vstack major refactor
vstack major refactor

original commit: vintage-software/vstack@19cf4f5b803cd6aef239be899845d7ce445f241e

split from 705e914b4d52f215eb7f6357f5cdb4227332fd72

vintage-software/vstack