use toolz instead of implementing conj ourselves