implemented sonar, might revisit as it slows down quite sudden at some point