k2model refactored