Non-blocking update. Needs to be refactored, wait intervals are too long