further redesign
design