moved async call into separate methods