Refactory the way we create models