Fix: avoid side effect (too much), a method can be defined once