Closes #15 (add type model)

Closes #15 (add type model)