check and some correction