ignore .code element
enhance: use setTimeout thread
new: ptt util