Add user_data parameter