refactor Printing. add Maven support. add tasks to README