improved J method