First Version of model impl