updated with resque