moved the draw to a delegate