refactor utils.clj,  add method fold