create buffered image only if needed
update gui