Several design fixes