remove unused code
add stop method to idle
use is_null
queue interface unified