modularized vote