wohoo! vote up vote down refactored and functional