add layout function