Rework model.* classes