added carrierwave and fixed all the bugs