lots of work with layout, some small additions