lab3: basic structure