added support for conditionals