Changed from array to hashtable. This way we can have arbitrary sizes that can also change arbitrarily