shared lib implementations