adding some fuctions