defined main structures