file description changes; major refactoring