added carrierwave functionality