Tons of changes too lazy to comment