make it a shared lib