refactor
add script languages support
add sample
update