layout and spec