fix duplicate id bug, add crude apis