implemented edge pruning stuffs