Clean up, refactoring and copyright notice.
Clean up
Clean up and refactoring.