refactor
add $js service