tests pass now, at least