GNR-3 - optimized code with abstact classes