- halfway through refactoring pDraw