minor improvement:
more changes
fix bug