First version that can produce text. Additionally added store/load support because training can takes lots of time