fail_unless! -> assert!
make the impl public