some update of design