implemented different enemy types