rough programme avoiding. Won't unavoid yet