implement the functions of Proposer