Everything for P3 works except the last two functions
Eveverything in P3 works - now the final touches