refactoring, update code version