improved structure
a