Fixed some bugs, made some bugs

Tried changing to a multidimensional vector to store levels rather than
a multidimensional array but now accessing any of the inner vectors
after they have been populated causes a crash. Additionally, the moment
one of the inner vectors is added to, the previous member is removed.

I'm fairly sure that this due to how vectors group data, I'll try using
lists tomorrow to see if that is indeed the case