revised method