old method substituted