add some libary functions