optimize external lib