general generation work