translated by NearTan