make sure vote is unique per user
finish voting system