minor fixes and privatising ::_layout.
less cases make it easier to read.