UI layout infrastructure added
Merge branch 'layout'