Add needs model

Closes #8
Merge pull request #31 from informulate/add-needs-model

Add needs model closes #8