dll; TODO:static link, clean up