small refactoring of source model