fixed function update