more model abstraction.