new solution working