basic structure establisehd