move eval_if into its own module
fix license