adding user interaction