slightly improve the design