adding the rest of the functions