scala gen