Almost done, but back trace is not right.