kidung api
fix bug duplicates
save file
sync with upstream