NaiveBayes Implementation
Merging changes from master