Huge sweet set of changes