[FIX] on_change funtion in evaluation.py and recursion error