Added plenty more comments