new solution in rust