add function libiary