Naive Version finished;