speak the question
mostly clean up and formatting