Add primitive functionality and models
Add primitive functionality and models