implemented layout