use vectors instead of gslists where appropriate