Holly shit that was alot to read...