core.clj TODOs and cleaning up some functions