Implement Update function