changed from static method, added retry logic to accomodate for concurrency issue