better design?