added the main structure