speed up
fix character encoding bug
remove unnecessary comments.
refactor
throw if error occured when invoked execute()