In this paper, we introduce a novel explicit rate algorithm to support available bit rate service in asynchronous transfer mode networks. Our algorithm is based on observing the maximum bandwidth usage of different connections and incorporating both rate and queue length information to achieve a stable operation. Zero steady state queue length is achieved. We separate congestion control and fairness issues in our design and estimate the number of locally bottlenecked active connections. This number is used to normalize control and to redistribute spare bandwidth during transient and does not affect the steady state fair rate used by each connections. As such, our algorithm is relatively insensitive to the accuracy of this number. The issue of supporting both UBR and ABR is addressed. The performance of our algorithm is evaluated through simulations.