Almost Final Version with Comments. Also did tests randing rom 3 lines to 10 lines