adding comments, some more TODOs, and cleaning up removeCurrent function