move toString to AbstractEntity