IGD is over-engineered due to its use of previous old code. Start to
remove all the over-engineered parts.