add some judgement