Implement overall structure