分离fn-lib