translated by Vito