some design fixes
merge