[PD-dev] A Solution: abstraction and external name collisions