Speed up the progress by moving all the PPNL calls to a separate thread.

Created additional functions for async calls.