functions and paras