layout the interface