basic leader implementation