test to apply :) learn OOP patterns