first implementation of convergenceDirect()