good progress 62, needs LOTS of optimization