initial commit

- layout module structure
- no tests
- bare bones domain