add some print-logging statements
re-implement Writer interface in split to fix NullPointerException problem
save output data by file named using current time