nicer draw function 3