laypout iteration