Code commented, finals corrected somewhere