added cloud functions