further implementation of port view vs model, made base view generic for the type of model that will be used, not sure if this is a good design, will revisit when building UI elements from model data