Finished Ex10. Tough thing to do.