drawing primitives
clipping
update
update