use oop to draw