add add_data interface