function vouchProposer(address _proposer, string _vouch)
    external {
        require(accounts[msg.sender].membership & BOARD != 0);
        Account storage candidate = accounts[_proposer];
        if (candidate.membership & PROPOSER != 0) {
            return;
        }
        address appt = candidate.voucher;
        if (accounts[appt].membership & BOARD == 0) {
            candidate.voucher = msg.sender;
            Vouch(_proposer, _vouch);
            return;
        }
        if (appt == msg.sender) {
            return;
        }
        Vouch(_proposer, _vouch);
        candidate.membership |= PROPOSER;
        Proposer(_proposer);
    }