abstract counter-like moves