improve
fix ugly bug