support for r2, polimorphism