adding dll to offload some of the work for new-interface