update parent function