Added framework for using different voting systems