improve objective c and rust solutions