improve throwing mechanism