My modified version.