reduce verbosity
new retry logic
generalise specfiy