Even better design (but still bad)