separate document model