adding reasoning