add foreach macro