history and lite refactoring