begin of translation generalize for