closer
match concanenator and tests working, but messy