add all datastruct written by dingman