tp2 structured and tp4 and tp5 done
clean version of tp2