set id before yield