async and loose coupling