Major Overhaul

Change-Id: I8d272a4b9aa6c82a4b5c1bb643206195a52cbb7c