adding the functions