CITS1001 Challenge

Uses some new features from Java 8 - particularly lambda expressions and the new stream API