Further refactoring
Further refactoring