total redesign, add midware