layouts CRUD, linking to types, small spec refactor