refactor: abstract ModelBuilder and IModelBuilder interface added
Merge origin/master