refactoring code. add ready-to-use jar file. update doc