tidy up TODO: read over and code review