or pulling, test framework. need more tests, better use of fold