allow layout directory to be set on construct rather than auto calculation