added model-type abstractions to infrastructure project