add delphi function