added support for If