Implementation of model