added voting capability and half of carrierwave