shadowing variables in interfaces and super classes
DAO pattern example with Factory pattern