refactoring, bugfix of using field in abstract Model