added definition as shared lib