parse and proc package
add listener