more portable by not loading the library directly