layout: quite a few changes