adding asyncronous call to avoid blocking of UI