player and enemy objects both now use ICharacter