#289 - model refactoring