made the monitoring async
tested async monitoring