some design fixes