add extension methods
add extension methods

original commit: vintage-software/vstack@20b3ad3bd4f5b8db6497b1f69093759d4e519d82

split from 88d94bd2c6adae46f2c526accc26a5539f87c51a

vintage-software/vstack