Part II
Implementation