Fixed some bugs, and refactored code to  [hopefully] allow different policies in the future (multiple kcs, fast+irt, etc... ?)