change functions
implement the functions