laboration 3 - pre refactoring