changed from vectors to lists