add feature save model to file and load it later + change some functions' interface