updated bang framework to include conditional directives