Removed synchronized from doReache() as we no longer us multi-threads