cleanup threading stuff
leverage async await more than explicit task creation