modified draw()