Tools for self-evolution