restructure how conditionals work