rework of design
curtis' change