added framework for vote system