revise the lib for linux