from day 11(code repetition&casting) and day 12(JUnit)