add knockout function