less tricky conditionals