vectorize GSW operations, so it's no longer necessary to through them into a loop or generator