remember "single responsibility"?