implemented document model
Implementation of versioned classed