Ouch! Indentation is a bit strange here... Hard to read.