section 3.1 almost completed
section 3.1 completed: fixes #3, fixes #10, fixes #28