edited out unecessary things I made in the process and had not removed yet. and added comments with some questions and choice explanation.