SOLID: O: problem
SOLID: O: fiix