timer's handler can use arg
addition save and load with train
modify gitignore