Added progess updates, and -O3 optimization flag