a suspend keyword signifies it must run in a Coroutine
suspend fun doNetworkRequest() : Result {
// Network Request Occurs
} • suspend functions must be executed within a CoroutineContext and Once inside a coroutine, code executes sequentially
CoroutineContext(Dispatchers.Default).launch{
val result = doNetworkRequest()
processResult(result)
}