implementing layouts