added Character Interface and NPC class