added not nil threading macro