improved assert()