First commit, with the basic stuff done, can compile into an json array of array