added join() for monitor thread