See part 1 for details on what this does...