add on the functions