added and ran validation tests and upvote functions