start refactoring entity. it should be mighty, morphable and powerful!