initial structure and aux funcs added