written as a learning exercise for Haskell, maybe will make this into a playable game with AI eventually, or a bot