added logger
now multithreaded. Used java 8 lambda expressions.