add proc with yield