update new approach