All complete, should add more comments.