Whole bunch of changes. Not really used to this whole 'iterative' thing :>