Adding support for while and !