First part
merger with huan's first part