add bifunctors
update tests
update tests
version bump