Support more complicated situation.