elm game implementing and refactoring