initial structure and code