split up naive bayes into three types