Separate out tasks because of async