Final refactoring done
Final refactoring done