devide into layout and partial templates