other better code. now we have a completely separate part for Model and all the other part.