An ATM virtual private network (AVPN) offers to a multisite customer an ATM transport service based on a virtual topology of dedicated VPs embedded in a larger ATM backbone. The goal of AVPN is to allow the efficient and flexible use of the resources by giving to the customer considerable autonomy in managing such resources. In this paper, we show how this goal can be achieved by exploiting standard ATM features. We also show that a critical issue in AVPN design is congestion control within an AVPN and prevention of interference across different AVPNs. We propose various design alternatives for AVPNs, evaluate their performance and compare their congestion control and dynamic bandwidth allocation features.