better design
fixes...