separated Draw function