clean code struct.