checkpoint: extract property  widget