Improve Part I, Do most of Part II