add conditional support