background up through P and NP