Fly ash-based geopolymer chemistry and behavior