internal layout