other license headers
major refactoring and clean code