Finished most everythingm, null testing required.