Split things out a little, added normalise