implement yielding; more unittest coverage