Final Refactoring done