overlapping conditional working