more work towards uppers/downers in viewer
user voting working