latest changes, have the solution working