massive design rewrite because of CD core