fixed defect of using | instead of ||