i think... this is nearly done.