cleanup and now correct p32 soln