add retrying and its error handling, status code 428