Huge commit. Work in progress.