Everything you need, with conditions