clean ups through P