Changed everything over from arrays to immutable lists for consistency. Really don't need the performance