A self-learning System