added sha based file comparison