update documentation
improve code standard