Added another topic and refactoring to sort out OOD