improve function by cloud