inplement API and logic for updating object