refac and models added