construct layout