Major overhaul

Change-Id: I713d694052efc9f855b7a009a94d59de91b57187