extract Voteable to module