add assert macro