Refactoring and more engine explanations