add some parts of the function