modularized
indentation.
clean up.