use source in js
add source, msg method