somehow clobbered Chris’s cat() in merges. manually added again