Basic update implementation