added AliveEntity class and refactored subclasses