updated to support lists