there are several structures to achieve this