make internal functions private in core.clj