ABPD can stand for: