little improve
almost everything is passing