simple document model and layouter