add codes for lib