GNR-18 - optimize code with abstract code