adjust model in order to support repositories and bussiness logic