Refactory data model