Tidied - don't need a separate reduce class