volatile keyword not needed