some improves for sonar