no need for volatile AFAICS