added machine learning algorithms, significance tests and parameter search to implementation