added some wacky conditionals