All Stages done, added some comments.