add some volatile