optimise layout