David model

Merging into master.