Checked most of the TODO's.