bulletproofing
not defined yet