implementing AIMD