fold insertion rather than using fromList