half-automatic, not tested