Lots of hacking

Change-Id: I136bb813c6c699d68607b8d71be0db25a5eb25ce