refactored Creature