might work, very long time to solve