completed struct tutorial