Refactored the struture.