a lot of conditions