voting functions, should use post not get