reordered functions in core.clj