make private things private
remove confusing extra protocol
small refactor numbers.clj