semi-automatic and fully