add volatile and thread check
rename default method
add interruption timing