moved impl to for each : J