Another huge commit

Change-Id: I36039a1cada409c9ff4d6cf95bf7a20008ca425e