Basic version done
went through code line by line for comprehension, made comments.