separate draw() implementation; causes another problem of not drawing