non trivial solution(not completed)