a few design improvements