http://ajpadilla.com/tutorials/reversible-hexagons