move implementation into separate package to avoid qualifying symbols in :cl