virtual draw()