Add serveral test scenario; remove redundancy