refactoring, adding parent class for global control model