875-890 is all copied and pasted. This is a prime candidate for refactoring.