diff approaches