added entity abstract functions
added entity management