Have to use ArrayLists... isn't java fun?
Oh boy more ArrayLists