implemented new model