// some design improvements