We present a decoupled algorithm for motion planning for a collection of unit-balls moving among polyhedral obstacles in \(\mathbb{R}^d\), for any \(d \geq 2\). We assume that the robots have revolving areas in the vicinity of their start and target positions: Revolving areas are regions where robots can maneuver in order to give way to another moving robot. Given that this assumption is fulfilled, the algorithm is complete, namely it is guaranteed to find a solution or report that none exists. A key goal in our design is to make the revolving areas as economical as possible and in particular to allow different revolving areas to overlap. This makes the analysis rather involved but in return makes the algorithm conceptually fairly simple. We show that for the case of m unit-discs moving among polygonal obstacles of total complexity \(n\) in \(\mathbb{R}^2\), the algorithm can be executed in \(O(n^2 m + m(m+n)\log(m+n))\) time. We implemented the algorithm for this case and tested it on several scenarios, for which we show experimental results for up to \(1000\) robots. Finally, we address the problem of choosing the order of execution of the paths in decoupled algorithms that locally solve interferences and show that finding the optimal order of execution is NP-hard. This motivated us to develop a heuristic for choosing the order; we describe the heuristic and demonstrate its effectiveness in certain scenarios.