add volatile for running