Split out data, code and layout.
Merge branch 'split'