new iterative assembly