improve conditionals