changes for function handle