don't clobber global state
accept color as constant parameter
update