improved fork A