adding a function only parallel gen