less trivial solution.