Added Hexagonal field and did some refactoring to allow that