exception logic
exception logic