Improve naming and structure and minor clean up.