Updated data structures and naming. Currently broken.