added volatile and re-do start and stop tags