Revised all comments, code works and compiles.