refactoring update to not be insanely nested, voting is broken
split update into its own file
voting is working!