add more conditional judgement