I have improved the design