self-perfected