add assert implement