A generic solution.