new rate limit implementation, fixed the sorting order of the providers and added a shutdown hook to most of the provider stuff