Whole bunch of changes, beginning to include testing