self-adaptation