Copied exercises from Marc.