modify protocol: change struct name ID -> Id