Revert "Revert "new solutions""

This reverts commit 4207606aef76957adc2682e10306cd8c3aafcb54.