Consider a crystal formed of two types of atoms placed at the nodes of the integer lattice. The type of each atom is chosen at random, but the crystal is statistically shift-invariant. Consider next an electron hopping from atom to atom. This electron performs a random walk on the integer lattice with randomly chosen transition probabilities (since the configuration seen by the electron is different at each lattice site). This process is highly non-Markovian, due to the interaction between the walk and the environment. We will present a martingale approach to proving the invariance principle (i.e. Gaussian fluctuations from the mean) for (irreversible) Markov chains and show how this can be transferred to a result for the above process (called random walk in random environment). This is joint work with Timo Sepp\"al\"ainen.